package nc.bs.itf.qjb;

import nc.vo.pub.BusinessException;

public interface IQjbService {
    /**
     * 获取接口请求token
     * @param type       单点系统类型
     * @param url        获取token地址
     * @param appKey     平台注册appKey
     * @param appSecret  平台注册appSecret
     * @return
     * @throws BusinessException
     */
    String getAccessToken(String type,String url, String appKey, String appSecret) throws BusinessException;

    /**
     * 获取临时登录code
     * @param type         操作系统
     * @param url          获取临时登陆接口地址
     * @param accessToken  token接口时效
     * @param thirdUcId     集成认证中心编码
     * @param userId       单点登录的用户编码
     * @return
     * @throws BusinessException
     */
    String getThirdLoginCode(String type, String url, String accessToken, String thirdUcId, String userId) throws BusinessException;

    /**
     * 获取单点登陆地址
     * @param qycode      企业code
     * @param type        操作系统
     * @param baseURL    基础URL
     * @param thirdUCId  平台注册 appKey
     * @param redirctUrl 重定向的接口地址
     * @param code       获取临时登录返回的code
     * @return
     * @throws BusinessException
     */
    String getSignLoginURL(String qycode,  String type, String baseURL, String thirdUCId,String redirctUrl, String code) throws Exception;

    /**
     * 通过手机号获取旗舰版用户userID
     * @param baseURL 接口请求地址
     * @param userPhone 单点登录的用户手机号
     * @param accessToken token
     * @param type 单点登录的系统
     * @return
     * @throws BusinessException
     */
    String getQJBUserIdByPhoneToUserId(String type, String baseURL, String userPhone, String accessToken) throws  BusinessException;


}